#main

some = 'abc' concat 1 + 2 & 2 * 2 ** 3 / 5 % 6

var uint_num = 123
var int_num Int = 123

var int_from_string = '123' as Int
var uint_from_string = '-123' as UInt

var str_from_uint = 123 as String
var str_from_int = -123 as String
var str_from_float = 123.123 as String

if str_from_float is String {
	echo '${str_from_float} is String'
}

// math
internal PI = 3.1415926
num = 3
result = -num * PI ** 2 - 12

// compare
is_greater = 3 > num

// bool
b1 = true
b2 = not b1

b3 = not num - 3
b4 = not num > 3

// logic
l1 = not num < 0 and num != 3

// is match
1 is Int   // true
2 is UInt  // true
ErrorException('demo') is Exception  // true

a = 1

// Required () for compound conditional expressions
b = a == 1 ? 'one' : (a == 2 ? 'two' : (a == 3 ? 'three' : 'other'))
c = (a ?: 1) ? (a ?: 2) : (a ?: 3)
d = 0 ? 1 : (2 + a ? a : 3)

e = a ?? 1 ? a ?? 2 : a ?? 3

